package com.seadragon.apps.doctorcard.service;

import java.util.List;

import com.seadragon.apps.doctorcard.model.Contact;
import com.seadragon.apps.doctorcard.model.Request;
import com.seadragon.apps.doctorcard.model.RequestStatus;

public interface RequestService {
	void rejectRequest(Request request);
	
	List<Request> findAllRequestsSent(Contact sender);
	
	List<Request> findAllRequestsReceived(Contact recipient);
	
	int sendRequest(Contact sender, Request requeset);

	boolean exists(Contact sender, Contact recipient);

	int acceptRequest(Contact recipient, Request request);

	List<Request> findAllRequestsByStatus(Contact sender, RequestStatus status);

	List<Contact> findAllRequestsReceivedByStatus(Contact recipient, RequestStatus status);

	List<Contact> findAllRequests(Contact contact);

	int countByNewlyReceivedRequests(Contact recipient);
}
